//
//  queue.h
//  队列
//
//  Created by 仲7 on 2025/2/18.
//
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
//各个节点的结构
typedef int QDataType;
typedef struct queueNode
{
    QDataType data;
    struct queueNode* next;
}qd;
//队列的结构
typedef struct queue
{
    qd* phead;
    qd* ptail;
    int size;
}queue;
//队列初始化
void QueueInit(queue* pq);
//入队列
void QueuePush(queue* pq,QDataType x);
//出队列
void QueuePop(queue* pq);
//判断队列是否为空
bool QueueEmpty(queue* pq);
//返回有效数据个数
int QueueSize(queue* pq);
//取队头数据
QDataType QueueFront(queue* pq);
//取队尾数据
QDataType QueueBack(queue* pq);
//销毁链表
void QueueDestroy(queue* pq);
